\documentclass{scrreprt}
\usepackage{xeCJK}
\pagenumbering{gobble}
\usepackage{listings}
\usepackage{underscore}
\usepackage{graphicx}
\usepackage{float}
\usepackage[bookmarks=true]{hyperref}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\hypersetup{
    bookmarks=false,    % show bookmarks bar?
    pdftitle={测试计划文档},    % title
    pdfauthor={徐新楠},                     % author
    pdfsubject={测试计划},                        % subject of the document
    pdfkeywords={单元测试 测试}, % list of keywords
    colorlinks=true,       % false: boxed links; true: colored links
    linkcolor=blue,       % color of internal links
    citecolor=black,       % color of links to bibliography
    filecolor=black,        % color of file links
    urlcolor=purple,        % color of external links
    linktoc=page            % only page is linked
}%
\def\myversion{1.0 }
\date{}
%\title{%

%}
\usepackage{hyperref}
\begin{document}

\begin{flushright}
    \rule{16cm}{5pt}\vskip1cm
    \begin{bfseries}
        \Huge{TESTING PLAN DOCUMENT}\\
        \vspace{1.9cm}
        for\\
        \vspace{1.9cm}
        Course Registration System\\
        \vspace{1.9cm}
        \LARGE{Version \myversion approved}\\
        \vspace{1.9cm}
        Prepared by 徐新楠\\
        \vspace{1.9cm}
        计算机科学与技术学院23班\\
        \vspace{1.9cm}
        \today\\
    \end{bfseries}
\end{flushright}

\tableofcontents


\chapter*{Revision History}

\begin{center}
	\begin{tabular}{|c|c|c|}
		\hline
		Revision & Date & Changes\\
		\hline
		Revision1 & June 12, 2020 & \\
		\hline
	\end{tabular}
\end{center}
\cleardoublepage% ensures that the page numbering will change on a recto page
\pagenumbering{arabic}


% -----------------------------------------------------------
% 引言
% -----------------------------------------------------------
\chapter{引言}

\section{编写目的}    % 本测试计划的具体编写目的，指出预期的读者范围
本文档是Course Registration System 软件项目的测试计划文档，旨在为本项目测试人员提供基本指引与测试内容。此外，开发组成员也可通过本文档与测试组沟通，改进系统中的问题。

\section{项目背景}    % 项目的委托单位，开发单位和主管部门；该软件系统与其他系统的关系
%说明：
%测试计划所从属的软件系统的名称；
%该开发项目的历史，列出用户和执行此项目测试的计算中心，说明在开始执行本测试计划之前必须完成的各项工作。

本项目(Course Registration System)为教务管理系统，为广大教职工、学生与管理员提供方便快捷的教务管理平台。在本项目的测试工作开始之前，需要先完成以下工作：
\begin{enumerate}
	\item 完成需求分析，提供需求分析文档（孙佳宁、刘洋）
	\item 完成前端设计，搭建好本系统的网站（何朋蒸、徐新楠）
	\item 完成后端工作及数据库的维护（张权、何朋蒸）
\end{enumerate}
本项目的测试阶段将采用黑盒测试方法，由徐新楠、刘洋、孙佳宁合作完成。


% -----------------------------------------------------------
% 计划
% -----------------------------------------------------------

\chapter{计划}

\section{软件说明}    % 提供一份图表，并逐项说明被测软件的功能、输入和输出等质量指标，作为叙述测试计划的提纲
在本项目中，用户分为Professor, Student, Registrar三种类型，每种用户都有各自的属性与不同的动作。下面详细说明：
Professor的动作包括：
\begin{itemize}
	\item 登录
	\item 选课
	\item 退课
	\item 查看消息
	\item 将消息标为已读
	\item 录入学生成绩
	\item 退出登录
\end{itemize}
Student的动作包括：
\begin{itemize}
	\item 登录
	\item 选课
	\item 退课
	\item 设置备选课
	\item 移除备选课
	\item 查看成绩单
	\item 查看消息
	\item 将消息标为已读
	\item 支付学费
	\item 退出登录。
\end{itemize}
Registrar的动作包括：
\begin{itemize}
	\item 登录
	\item 添加教师
	\item 修改教师信息
	\item 查询教师信息
	\item 删除教师
	\item 添加学生
	\item 修改学生信息
	\item 查询学生信息
	\item 删除学生
	\item 关闭课程注册
	\item 退出登录。
\end{itemize}


\section{测试内容}    %列出组装测试和确认测试中的每一项测试内容的名称标识符、这些测试的进度安排以及这些测试的内容和目的，例如模块功能测试、接口正确性测试、数据文卷存取的测试、运行时间的测试、设计约束和极限的测试等
根据本系统中的功能种类，可将测试工作划分为以下若干项：
\begin{enumerate}
	\item 登录系统测试
	\item 选课系统综合测试（学生选课系统、教师选课系统、管理员关闭课程注册）
	\item 成绩系统综合测试（教师录入成绩、学生查询成绩）
	\item 消息系统综合测试（教师、学生查看消息）
	\item 学费系统测试（学生充值、缴费）
	\item 师生信息管理系统测试（管理员增删改查教师、学生信息）
\end{enumerate}


\section{登录系统测试}  
测试时间为6月11日，由徐新楠负责。测试中需要使用到“student.csv”“professor.csv”“rigistrar.csv”。测试时应当注意错误的用户名与密码的输出结果
\section{选课系统综合测试} 
测试时间为6月11日，由刘洋负责。测试时应该注意教师在学生选课后退选课程等几处容易出错的地方。

\section{成绩系统综合测试}
测试时间为6月11日，由孙佳宁负责。测试时应该注意教授多次录入成绩产生的结果。
\section{消息系统综合测试}
测试时间为6月11日，由孙佳宁负责。测试时应该注意消息系统的鲁棒性。
\section{学费系统测试}
测试时间为6月11日，由刘洋负责。测试时应该注意错误数据类型产生的结果。
\section{师生信息管理系统测试}
测试时间为6月11日，由徐新楠负责。测试时应该注意不合法的输入产生的结果。




% -----------------------------------------------------------
% 测试设计说明
% -----------------------------------------------------------

\chapter{测试设计说明}

\section{登陆系统测试}
\begin{table}[H]
	\centering
	\begin{tabular}{c|c|c|c|c}
		\hline
		编号 & 账户       & 密码       & 等价类  & 备注    \\ \hline
		1  & 21170103 & 25340403 & 1，有效 & 学生    \\ 
		2  & 51170114 & 56163362 & 2，有效 & 老师    \\ 
		3  & 11170123 & 87410768 & 3，有效 & 管理员   \\ 
		4  & 62452484 & 16845376 & 4，无效 & 账户不存在 \\ 
		5  & 11170123 & 56163362 & 5，无效 & 密码错误  \\ \hline
	\end{tabular}
	\caption{登陆系统测试}
\end{table}
\section{选课系统综合测试}
\begin{table}[H]
	\centering
	\resizebox{\columnwidth}{!}{%
	\begin{tabular}{|c|c|c|c|}
		\hline
		编号 & 操作                                                                                         & 期望结果                                                               & 备注      \\ \hline
		1  & \begin{tabular}[c]{@{}c@{}}教师A主页-选择授课\\ -选课“思想道德修养与法律基础”\\ -退选“思想道德修养与法律基础”\end{tabular}   & 退课成功                                                               &         \\ \hline
		2  & 教师A选课“思想道德修养与法律基础”“大学英语I”                                                                  & 选课成功                                                               &         \\ \hline
		3  & \begin{tabular}[c]{@{}c@{}}学生A主页-学生选课\\ -选课“思想道德修养与法律基础”\\ -退选“思想道德修养与法律基础”\end{tabular}   & \begin{tabular}[c]{@{}c@{}}“思想道德修养与法律基础”\\ 不再出现在已选列表中\end{tabular} &         \\ \hline
		4  & \begin{tabular}[c]{@{}c@{}}学生A主页-学生选课-\\ 设为备选“思想道德修养与法律基础”\\ -退选“思想道德修养与法律基础”\end{tabular} & \begin{tabular}[c]{@{}c@{}}“思想道德修养与法律基础”\\ 不再出现在备选列表中\end{tabular} &         \\ \hline
		5  & \begin{tabular}[c]{@{}c@{}}学生A主页-学生选课\\ -选课“电子商务概论”\end{tabular}                           & 选课不成功                                                              & 有先修课    \\ \hline
		6  & \begin{tabular}[c]{@{}c@{}}学生A主页-学生选课\\ -设为备选“电子商务概论”\end{tabular}                         & 设为备选不成功                                                            & 有先修课    \\ \hline
		7  & 学生A$\sim$B选课“思想道德修养与法律基础”                                                                  & 选课成功                                                               & 两人选同一门课 \\ \hline
		8  & 学生A$\sim$K选课“大学英语I”                                                                        & 学生K选课不成功                                                           & 人数溢出    \\ \hline
		9  & 教师A退课“思想道德修养与法律基础”                                                                         & 退课成功，给学生A$\sim$B发送课程取消通知                                           &         \\ \hline
		10 & 教师B选课“思想道德修养与法律基础”                                                                         & 选课成功                                                               &         \\ \hline
		11 & 学生A$\sim$B选课“思想道德修养与法律基础”                                                                  & 选课成功                                                               &         \\ \hline
		12 & 管理员取消“思想道德修养与法律基础”                                                                         & 取消成功，向相关教师与学生发送通知                                                  &         \\ \hline
	\end{tabular}
	}
	\caption{选课系统综合测试}
\end{table}
\section{成绩系统综合测试}
\begin{table}[H]
	\centering
	\resizebox{\columnwidth}{!}{%
	\begin{tabular}{|c|c|c|c|}
		\hline
		编号 & 操作                                                                                   & 期望结果                                                            & 备注                                                                   \\ \hline
		1  & \begin{tabular}[c]{@{}c@{}}教师A查看成绩录入界面-“大学英语I”，\\ 为第1到9号学生录入成绩ABCDEFGHI\end{tabular} & \begin{tabular}[c]{@{}c@{}}录入成绩“E”“G”“H”失败，\\ 其余成功\end{tabular} & \begin{tabular}[c]{@{}c@{}}合理的成绩\\ 只有“A”“B”“C”“D”“F”“I”\end{tabular} \\ \hline
		2  & 为第3号学生录入成绩“D”                                                                        & 录入成功                                                            &                                                                      \\ \hline
		3  & 为第4号学生录入成绩“J”                                                                        & \begin{tabular}[c]{@{}c@{}}录入失败，\\ 第4号学生成绩不变\end{tabular}       & 不合理的输入                                                               \\ \hline
		4  & 第3号学生查询这门课的成绩                                                                        & 成绩为D                                                            &                                                                      \\ \hline
		5  & 第8号学生查询这门课的成绩                                                                        & 成绩为空                                                            &                                                                      \\ \hline
	\end{tabular}
	}
	\caption{成绩系统综合测试}
\end{table}
\section{消息系统综合测试}
\begin{table}[H]
	\centering
	\resizebox{\columnwidth}{!}{
	\begin{tabular}{|c|c|c|c|}
		\hline
		编号 & 操作           & 期望结果                                                               & 备注           \\ \hline
		1  & 学生A查看消息列表    & \begin{tabular}[c]{@{}c@{}}看到两条\\ “思想道德修养与法律基础”被取消的通知\end{tabular} & 教师A退选、教师B被取消 \\ \hline
		2  & 学生A将所有消息标为已读 & 看到所有通知都被移入已读消息列表中                                                  &              \\ \hline
		3  & 教师B查看消息列表    & \begin{tabular}[c]{@{}c@{}}看到一条\\ “思想道德修养与法律基础”被取消的通知\end{tabular} &              \\ \hline
		4  & 教师B将所有消息标为已读 & 看到所有通知都被移入已读消息列表中                                                  &              \\ \hline
	\end{tabular}
	}
	\caption{消息系统综合测试.\textbf{本表中人员与选课系统综合测试中的人员是相对应的，如“学生A”就是选课系统综合测试表中的“学生A”。}}
\end{table}
\section{学费系统测试}
\begin{table}[H]
	\centering
	\begin{tabular}{|c|c|c|c|}
		\hline
		编号 & 操作                                                                  & 期望结果                                                          & 备注 \\ \hline
		1  & 学生A进入充值页面查看余额与应付款项                                                  & \begin{tabular}[c]{@{}c@{}}能看到余额、学费、\\ 充值入口、付款入口\end{tabular} &    \\ \hline
		2  & 学生A点“充值”，充值0.20元                                                    & 充值成功，余额增长                                                     &    \\ \hline
		3  & 学生A充值0元                                                             & 充值失败                                                          &    \\ \hline
		4  & 学生A充值-231.10元                                                       & 充值失败                                                          &    \\ \hline
		5  & 学生A充值直到足以支付学费为止，付款                                                  & 付款成功                                                          &    \\ \hline
		6  & \begin{tabular}[c]{@{}c@{}}学生A尽量多地选课，\\ 直到应付款项大于余额时，付款\end{tabular} & 付款失败                                                          &    \\ \hline
	\end{tabular}
	\caption{学费系统测试.\textbf{本表中人员与选课系统综合测试中的人员是相对应的，如“学生A”就是选课系统综合测试表中的“学生A”。}}
\end{table}
\section{师生信息管理系统测试}
\begin{table}[H]
	\centering
	\resizebox{\columnwidth}{!}{
	\begin{tabular}{|c|c|c|c|}
		\hline
		编号 & 操作                                                                          & 期望结果          & 备注            \\ \hline
		1  & \begin{tabular}[c]{@{}c@{}}管理员登录-管理教师信息\\ -添加教师（其中账号为63541545）\end{tabular} & 不能创建教师，账号错误   & 教师账号首字符必须是“5” \\ \hline
		2  & 创建教师（账号为51170621）                                                           & 创建成功，并可用此账号登录 &               \\ \hline
		3  & 查询教师51170621                                                                & 查询成功          &               \\ \hline
		4  & \begin{tabular}[c]{@{}c@{}}修改账号为51170621的教师，\\ 除账号外每一项都做更改\end{tabular}     & 修改成功，并且能被查询到  &               \\ \hline
		5  & 删除账号为51170621的教师                                                            & 删除成功          &               \\ \hline
		6  & 创建学生（账号为51248321）                                                           & 创建失败          & 学生账号必须以2开头    \\ \hline
		7  & 创建学生（账号为21172324）                                                           & 创建成功          &               \\ \hline
		8  & 查询学生21172324                                                                & 查询成功          &               \\ \hline
		9  & \begin{tabular}[c]{@{}c@{}}修改账号为21172324的学生，\\ 除账号外每一项都修改\end{tabular}      & 修改成功，并且能被查询到  &               \\ \hline
		10 & 删除账号为21172324的学生                                                            & 删除成功          &               \\ \hline
	\end{tabular}
	}
	\caption{师生信息管理系统测试}
\end{table}

\end{document}
